package com.batchengine.task;

/**
 * Created by sunil.incubator@yahoo.com.
 * User: sunil.kalva
 * Date: Jun 22, 2009
 */
public abstract class Task {

    protected abstract void beforeExecute();

    public abstract void execute(TaskContext context);

    protected abstract void afterExecute();

    protected abstract void handleError();

    protected abstract void cleanup();

    public abstract TaskStatus getTaskStatus();

    public abstract void setTaskStatus(TaskStatus taskStatus);

    public abstract String getName();

    public abstract TaskMode getTaskMode();

}
